* specify <dpl>|4 in the second field.
*/
static trap_info_t trap_table[] = {
- { 0, 0|4, (__KERNEL_CS|0x3), (unsigned long)divide_error },
- { 1, 0|4, (__KERNEL_CS|0x3), (unsigned long)debug },
- { 3, 3|4, (__KERNEL_CS|0x3), (unsigned long)int3 },
- { 4, 3|4, (__KERNEL_CS|0x3), (unsigned long)overflow },
- { 5, 0|4, (__KERNEL_CS|0x3), (unsigned long)bounds },
- { 6, 0|4, (__KERNEL_CS|0x3), (unsigned long)invalid_op },
- { 7, 0|4, (__KERNEL_CS|0x3), (unsigned long)device_not_available },
- { 9, 0|4, (__KERNEL_CS|0x3), (unsigned long)coprocessor_segment_overrun},
- { 10, 0|4, (__KERNEL_CS|0x3), (unsigned long)invalid_TSS },
- { 11, 0|4, (__KERNEL_CS|0x3), (unsigned long)segment_not_present },
- { 12, 0|4, (__KERNEL_CS|0x3), (unsigned long)stack_segment },
- { 13, 0|4, (__KERNEL_CS|0x3), (unsigned long)general_protection },
- { 14, 0|4, (__KERNEL_CS|0x3), (unsigned long)page_fault },
- { 15, 0|4, (__KERNEL_CS|0x3), (unsigned long)spurious_interrupt_bug },
- { 16, 0|4, (__KERNEL_CS|0x3), (unsigned long)coprocessor_error },
- { 17, 0|4, (__KERNEL_CS|0x3), (unsigned long)alignment_check },
+ { 0, 0|4, __KERNEL_CS, (unsigned long)divide_error },
+ { 1, 0|4, __KERNEL_CS, (unsigned long)debug },
+ { 3, 3|4, __KERNEL_CS, (unsigned long)int3 },
+ { 4, 3|4, __KERNEL_CS, (unsigned long)overflow },
+ { 5, 0|4, __KERNEL_CS, (unsigned long)bounds },
+ { 6, 0|4, __KERNEL_CS, (unsigned long)invalid_op },
+ { 7, 0|4, __KERNEL_CS, (unsigned long)device_not_available },
+ { 9, 0|4, __KERNEL_CS, (unsigned long)coprocessor_segment_overrun},
+ { 10, 0|4, __KERNEL_CS, (unsigned long)invalid_TSS },
+ { 11, 0|4, __KERNEL_CS, (unsigned long)segment_not_present },
+ { 12, 0|4, __KERNEL_CS, (unsigned long)stack_segment },
+ { 13, 0|4, __KERNEL_CS, (unsigned long)general_protection },
+ { 14, 0|4, __KERNEL_CS, (unsigned long)page_fault },
+ { 15, 0|4, __KERNEL_CS, (unsigned long)spurious_interrupt_bug },
+ { 16, 0|4, __KERNEL_CS, (unsigned long)coprocessor_error },
+ { 17, 0|4, __KERNEL_CS, (unsigned long)alignment_check },
#ifdef CONFIG_X86_MCE
- { 18, 0|4, (__KERNEL_CS|0x3), (unsigned long)machine_check },
+ { 18, 0|4, __KERNEL_CS, (unsigned long)machine_check },
#endif
- { 19, 0|4, (__KERNEL_CS|0x3), (unsigned long)simd_coprocessor_error },
+ { 19, 0|4, __KERNEL_CS, (unsigned long)simd_coprocessor_error },
#ifdef CONFIG_IA32_EMULATION
- { IA32_SYSCALL_VECTOR, 3|4, (__KERNEL_CS|0x3), (unsigned long)ia32_syscall},
+ { IA32_SYSCALL_VECTOR, 3|4, __KERNEL_CS, (unsigned long)ia32_syscall},
#endif
{ 0, 0, 0, 0 }
};
+++ /dev/null
-#ifndef _ASM_SEGMENT_H
-#define _ASM_SEGMENT_H
-
-#include <asm/cache.h>
-
-#define __KERNEL_CS 0x10
-#define __KERNEL_DS 0x1b
-
-#define __KERNEL32_CS 0x3b
-
-/*
- * we cannot use the same code segment descriptor for user and kernel
- * -- not even in the long flat mode, because of different DPL /kkeil
- * The segment offset needs to contain a RPL. Grr. -AK
- * GDT layout to get 64bit syscall right (sysret hardcodes gdt offsets)
- */
-
-#define __USER32_CS 0x23 /* 4*8+3 */
-#define __USER_DS 0x2b /* 5*8+3 */
-#define __USER_CS 0x33 /* 6*8+3 */
-#define __USER32_DS __USER_DS
-
-#define GDT_ENTRY_TLS 1
-#define GDT_ENTRY_TSS 8 /* needs two entries */
-#define GDT_ENTRY_LDT 10 /* needs two entries */
-#define GDT_ENTRY_TLS_MIN 12
-#define GDT_ENTRY_TLS_MAX 14
-/* 15 free */
-
-#define GDT_ENTRY_TLS_ENTRIES 3
-
-/* TLS indexes for 64bit - hardcoded in arch_prctl */
-#define FS_TLS 0
-#define GS_TLS 1
-
-#define GS_TLS_SEL ((GDT_ENTRY_TLS_MIN+GS_TLS)*8 + 3)
-#define FS_TLS_SEL ((GDT_ENTRY_TLS_MIN+FS_TLS)*8 + 3)
-
-#define IDT_ENTRIES 256
-#define GDT_ENTRIES 16
-#define GDT_SIZE (GDT_ENTRIES * 8)
-#define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)
-
-#endif